package com.aoip.telemetry.telemetry.configureui.business.analysis.element.service;

import com.aoip.telemetry.telemetry.entity.element.ElementConfigEntity;

import java.util.List;

/**
 * 元素解析模块接口
 *
 * @author chenbai
 * @version 1.0
 * @date 2021/12/28 14:13
 */
public interface ElementService {

    /**
     * 查询解析元素列表数据
     *
     * @param entity 单个元素
     * @return java.util.List<com.aoip.telemetry.telemetry.entity.element.ElementConfigEntity>
     * @author chenbai
     * @date 2021/12/27
     **/
    List<ElementConfigEntity> list(ElementConfigEntity entity);

    /**
     * 查询解析元素单条数据
     *
     * @param id 元素id
     * @return java.util.List<com.aoip.telemetry.telemetry.entity.element.ElementConfigEntity>
     * @author chenbai
     * @date 2021/12/27
     **/
    ElementConfigEntity element(String id);

    /**
     * 新增解析元素信息表数据
     *
     * @param entity 单个元素
     * @return java.util.List<com.aoip.telemetry.telemetry.entity.element.ElementConfigEntity>
     * @author chenbai
     * @date 2021/12/27
     **/
    int insert(ElementConfigEntity entity);

    /**
     * 修改解析元素信息表数据
     *
     * @param entity 单个元素
     * @return java.util.List<com.aoip.telemetry.telemetry.entity.element.ElementConfigEntity>
     * @author chenbai
     * @date 2021/12/27
     **/
    int update(ElementConfigEntity entity);

    /**
     * 初始化数据到redis缓存库
     *
     * @return int
     * @author chenbai
     * @date 2022/3/8
     **/
    int initCache();

    /**
     * 逻辑删除解析元素数据
     *
     * @param ids 解析元素数据id
     * @author chenbai
     * @date 2021/12/27
     **/
    void delete(Long[] ids);

}
